맨위로가기

오픈 펌웨어

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

오픈 펌웨어는 IEEE 1275-1994 표준으로 기술되었으며, 시스템 하드웨어 구성을 설명하는 표준 방식인 장치 트리를 정의한다. 썬 마이크로시스템즈의 OpenBoot, 펌웍스의 OpenFirmware, 코드젠의 SmartFirmware를 포함한 여러 상업적 구현이 오픈 소스로 공개되었으며, OpenBIOS 프로젝트에서 소스 코드를 확인할 수 있다. Forth 코드를 FCode로 컴파일하여 명령어 집합 아키텍처에 독립적인 바이트코드를 사용하고, 대화형 프로그래밍 언어를 기반으로 하여 하드웨어 테스트 및 드라이버 개발에 활용할 수 있다. 운영 체제 부팅 전 콘솔에서 텍스트 기반으로 접근하여 장치를 제어할 수 있으며, "ok" 프롬프트를 통해 사용자와 상호작용한다.

더 읽어볼만한 페이지

  • 오픈 소스 하드웨어 - 슈퍼H
    슈퍼H는 히타치에서 개발한 RISC 기반 CPU 코어 제품군으로, 상위 호환성을 갖는 명령어 집합과 높은 코드 밀도를 특징으로 하며, 다양한 모델이 개발되어 여러 기기에 탑재되었으나, ARM 아키텍처의 부상으로 개발이 중단된 후 르네사스 일렉트로닉스를 통해 라이선스가 제공되고 SH-2 특허 만료 후에는 오픈 소스 구현 프로젝트가 진행되었다.
  • 오픈 소스 하드웨어 - 픽스호크
    픽스호크는 NuttX 운영체제를 기반으로 무인항공기의 원격 조정 및 자율 주행을 지원하는 소프트웨어 플랫폼으로, 32비트 ARM 아키텍처의 STM32 MCU를 사용하며 리눅스 재단의 드론코드 프로젝트에 채택되었고, 다양한 비행 모드와 오픈 소스 지상관제 프로그램 및 원격조정 어플리케이션을 제공한다.
  • 썬 마이크로시스템즈 소프트웨어 - 자바 데스크톱 시스템
  • 썬 마이크로시스템즈 소프트웨어 - 핫자바
    핫자바는 자바 프로그래밍 언어 기반으로 개발된 웹 브라우저이며, 1995년 TED 컨퍼런스에서 처음 시연되고 SunWorld 컨퍼런스에서 공식 발표되었다.
  • 바이오스 - 아메리칸 메가트렌즈
    아메리칸 메가트렌즈(AMI)는 1985년에 설립된 회사로, BIOS 펌웨어, 서버용 마더보드, 스토리지 컨트롤러 등을 공급하며, 현재는 AMIBIOS, Aptio, AMIDiag 등 다양한 제품을 제공한다.
  • 바이오스 - 부트 섹터
    부트 섹터는 시스템 부팅 코드를 담은 저장 매체의 특정 영역으로, 볼륨 부트 레코드(VBR)와 마스터 부트 레코드(MBR)로 나뉘며, BIOS는 이를 실행하고 UEFI는 부트로더를 직접 로드하지만 바이러스 공격에 취약하다.
오픈 펌웨어
기본 정보
Open Firmware 로고
Open Firmware 로고
유형펌웨어
개발자선 마이크로시스템즈
최초 발표1994년 10월 28일
상태철회됨
기술 정보
종류부트 펌웨어
기타 정보
웹사이트Open Firmware 공식 웹사이트 (보관됨)

2. 역사

IEEE에 의해 ''IEEE 1275-1994'' 표준으로 기술되었다. 이 표준은 1998년 이후 오픈 펌웨어 워킹 그룹(OFWG)에 의해 재확인되지 않았으며, 2005년 5월 IEEE에 의해 공식적으로 철회되었다.

2006년 이후 썬 마이크로시스템즈의 OpenBoot, 펌웍스의 OpenFirmware, 코드젠의 SmartFirmware를 포함한 여러 상업적 오픈 펌웨어 구현이 오픈 소스 커뮤니티에 공개되었다. 소스 코드는 OpenBIOS 프로젝트에서 확인할 수 있다. 썬 마이크로시스템즈의 구현은 BSD 라이선스로 배포된다.[1]

3. 특징

오픈 펌웨어의 Forth 코드는 명령어 집합 아키텍처에 독립적인 바이트코드인 FCode로 컴파일될 수 있다. PCI 카드는 FCode로 컴파일되어 모든 오픈 펌웨어 시스템에서 실행되는 프로그램을 포함할 수 있어, 부팅 시 진단, 구성 코드 및 장치 드라이버를 제공한다. FCode는 매우 작아서 디스크 드라이버가 1~2킬로바이트만 필요할 수 있다.[5] 따라서 오픈 펌웨어를 사용했던 Sun 시스템과 매킨토시에서 많은 동일한 I/O 카드를 사용할 수 있다. FCode는 ANS Forth와 오픈 펌웨어 라이브러리의 하위 집합을 구현한다.

오픈 펌웨어는 시스템 하드웨어 구성을 설명하는 표준 방식인 ''장치 트리''를 정의한다.[3] 이는 운영 체제가 사용자 구성 및 하드웨어 폴링에 덜 의존하여 호스트 컴퓨터의 구성을 더 잘 이해하도록 돕는다. 예를 들어, 오픈 펌웨어는 하드웨어 모니터링을 위한 온도 센서와 같은 슬레이브 I2C 장치를 안정적으로 식별하는 데 필수적이다.[4]

대화형 프로그래밍 언어를 기반으로 하는 오픈 펌웨어는 새로운 하드웨어를 효율적으로 테스트하고 시작하는 데 사용할 수 있다. 이를 통해 드라이버를 작성하고 대화식으로 테스트할 수 있다. 작동하는 비디오 및 마우스 드라이버는 최종 사용자 진단에 적합한 그래픽 인터페이스를 위한 유일한 전제 조건이다. 애플은 많은 파워 매킨토시에 이러한 진단 "운영 체제"를 탑재했다. Sun은 또한 고객 서비스 지원 및 하드웨어 제조 팀에서 사용한 FCode 기반 진단 도구 모음인 OpenBoot Diagnostics (OBDiag)를 제공했다.[5]

4. 장점

오픈 펌웨어의 Forth 코드는 FCode(어떤 바이트코드)로 컴파일되며 특정 컴퓨터 아키텍처에 의존한 기계어로는 변환되지 않는다. 어느 입출력 카드용 코드를 포함하고 있는 오픈 펌웨어는 다른 오픈 펌웨어를 사용하는 어떤 시스템 위에서도 동작한다. 어느 입출력 카드를 시동하면, 진단, 설정 코드, 그리고 장치 드라이버는 다른 오픈 펌웨어가 동작하는 시스템 위에서도 사용할 수 있다. 따라서, 많은 입출력 카드가 썬의 머신과 매킨토시 두 군데 모두 동작한다.[3]

또, 대화식 프로그램 언어가 기반이므로, 오픈 펌웨어는 코드를 테스트하거나 새로운 하드웨어를 재빠르게 따라갈 수 있다.

5. 접근

몇몇 아키텍처에서는 운영 체제가 시동되기 앞서 콘솔로부터 오픈 펌웨어의 프롬프트를 거쳐 텍스트 기반으로 대화하면서 접근할 수 있다. 인식된 장치는 Forth의 이름 공간에 나타나고, 이것을 사용하여 입출력 장치를 지시하는 등의 일을 한다. 버스별로 규정된 이름 공간이 존재하므로 구성 정보를 얻거나 설정할 수도 있다.

오픈 펌웨어는 "ok"를 프롬프트로 표시한다.

6. 구현 및 라이선스

애플(Apple)의 NuBus 이후 PowerPC 기반의 Macintosh(CHRP 기반의 파워 매킨토시), 썬 마이크로시스템즈(Sun Microsystems)의 SPARC 기반 워크스테이션 및 서버, IBM의 POWER 아키텍처 컴퓨터 시스템([CHRP]] 기반의 RS/6000 PCI 모델), Pegasos 컴퓨터 시스템, OLPC 설계 랩톱(OLPC XO-1) 등 다양한 기종에서 오픈 펌웨어가 채택되었다.

오픈 펌웨어는 BSD 라이선스 하에 이용 가능하다. 제안된 Power Architecture Platform Reference에서도 Open Firmware 기반 플랫폼이다. 2006년 이후 선 마이크로시스템즈의 OpenBoot, 펌웍스의 OpenFirmware, 코드젠의 SmartFirmware를 포함한 여러 상업적 오픈 펌웨어 구현이 오픈 소스 커뮤니티에 공개되었다. 소스 코드는 OpenBIOS 프로젝트에서 확인할 수 있다. 선 마이크로시스템즈의 구현은 BSD 라이선스로 배포된다.

참조

[1] 웹사이트 Apple Wiki - Open Firmware https://apple.fandom[...]
[2] 서적 IEEE Standard for Boot (Initialization Configuration) Firmware: Core Requirements and Practices 1994-10-28
[3] 서적 Solaris Internals: Core Kernel Components https://books.google[...] Prentice-Hall Professional 2001
[4] 논문 OpenBSD Hardware Sensors – Environmental Monitoring and Fan Control. http://cnst.su/MMath[...] UWSpace 2010-05-21
[5] 웹사이트 Sun Enterprise 250 Server Owner's Guide > Chapter 12 Diagnostics and Troubleshooting > About OpenBoot Diagnostics (OBDiag) https://docs.oracle.[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com